package com.jane.adapter;

import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

import com.jane.gzzb.R;

import org.xutils.image.ImageOptions;
import org.xutils.x;

import java.util.List;

/**
 * Created by Administrator on 2016/11/5.
 */

public abstract class MyBaseAdapter<T> extends BaseAdapter {
    //申明
    public List<T> mData;
    private ImageOptions mOptions;//图片选项

    public MyBaseAdapter(List<T> Data) {
        this.mData = Data;
        mOptions = new ImageOptions.Builder().
                // 设置是否使用缓存
                        setUseMemCache(true).
                // 设置加载失败的图片
                        setFailureDrawableId(R.drawable.loading_icon_default_2).
                // 设置 加载过程中的图片
                        setLoadingDrawableId(R.drawable.loading_icon_default_2)
                // 设置 是否支持GIF 动态图
                .setIgnoreGif(true).build();
    }

    //添加数据的方法
    public void addData(List data) {
        mData.clear();//清空
        mData.addAll(data);
    }

    //加载图片的方法
    public void loadImage(ImageView imageView, String path) {
        if (TextUtils.isEmpty(path)) {
            return;
        }
        x.image().bind(imageView, path, mOptions);
    }

    @Override
    public int getCount() {
        return mData == null ? 0 : mData.size();
    }

    @Override
    public T getItem(int position) {
        return mData.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public abstract View getView(int position, View convertView, ViewGroup parent);
}
